-
Notifications
You must be signed in to change notification settings - Fork 5k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Set org.apache.core as the jkd9 automatic module name for camel-core #2007
Conversation
@@ -5174,6 +5174,7 @@ | |||
<Karaf-Info>Camel;${project.artifactId}=${project.version}</Karaf-Info> | |||
<_versionpolicy>${camel.osgi.import.default.version}</_versionpolicy> | |||
<_failok>${camel.osgi.failok}</_failok> | |||
<Automatic-Module-Name>${camel.automatic.module.name}</Automatic-Module-Name> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What happens here if other components do not have that option, is that value empty in the manifest file or ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @davsclaus , yes if it's not defined there will be no value in the manifest (there won't even be a 'Automatic-Module-Name' key)
@@ -115,6 +115,7 @@ | |||
</camel.osgi.activator> | |||
<!-- do not skip any tests by default --> | |||
<platform.skip.tests/> | |||
<camel.automatic.module.name>org.apache.camel</camel.automatic.module.name> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should it not be org.apache.camel.core
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh reverse internet domain name then its: core.camel.apache.org
Can we double check this to be sure?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @davsclaus the camel website is currently at http://camel.apache.org/ so our reverse internet domain is 'org.apache.camel' which also happens to be our principal exported API package. Hence I propose 'org.apache.camel' as the automatic module name but 'org.apache.camel.core' is fine with me. Here are some other projects for comparison:
Mapstruct -> org.mapstruct
Mockito -> org.mockito
RxJava -> io.reactivex.rxjava2
For our Camel components, dataformats and spring starters we can set the automatic module name to the primary package. We can also set the name to 'org.apache.camel.X' for everything under components/X and 'org.apache.camel.springboot.X' for all our spring starters to shorten the names a little and for consistency. I have a preference for the second option.
Let me know what you think,
John.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. I suggest we wait with this until 2.21 release so we can debate in the community what the naming should be.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I logged a ticket: https://issues.apache.org/jira/browse/CAMEL-11887
Lets close this for now - we are on JDK8 and JDK9 is already EOL and same thing happens with JDK10 that is short lived. |
[ENTESB-19409] Upgrade to json-smart 2.4.8
This will be useful for people wanting to use Java 9's module system with camel-core.
From Mark Reinhold's recommendation and common adoption, the module name should correspond to the principal exported API package:
Thanks!